package com.dss.auto_deploy.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dss.auto_deploy.domain.AdmNacos;
import com.dss.auto_deploy.dto.AdmNacosAddDto;
import com.dss.auto_deploy.dto.AdmNacosPageDto;
import com.dss.auto_deploy.dto.AdmNacosUpdateDto;
import com.dss.auto_deploy.vo.AdmNacosVo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
* @Description:nacos配置Service
* @author dongshoushan
* @date 2022-10-22 21:48:18
*/
public interface IAdmNacosService  extends IService<AdmNacos> {
    /**
    * 新增nacos配置
    * @param admNacosAddDto
    * @return
    */
    int insert(AdmNacosAddDto admNacosAddDto);

    /**
    * 修改nacos配置
    * @param admNacosUpdateDto
    * @return
    */
    int update(AdmNacosUpdateDto admNacosUpdateDto);

    /**
    * 批量删除nacos配置
    * @param ids
    * @return
    */
    void deleteBatch(Long[] ids);

    /**
    * nacos配置查询
    * @param dto
    * @return List<AdmNacos>
    */
    Page<AdmNacosVo> list(AdmNacosPageDto dto) throws InterruptedException;

    List<AdmNacosVo> convertToVo(List<AdmNacos> records) throws InterruptedException;

    List<AdmNacos> getAll();

    /**
     * nacos安装
     * @param ids
     * @param tempPath
     * @param nacosFile
     */
    void installnacos(String ids, String tempPath, MultipartFile nacosFile ,MultipartFile plugFile);
}
